iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 5
1
Software Development

Kotlin 30 天,通過每天一個小 demo 學習 Android 開發系列 第 5

Kotlin 開發第 5 天 Webview Search ( WebView + Keyboard )

  • 分享至 

  • xImage
  •  

今天練習一下使用 WebView。

https://www.google.com.tw/search?q=關鍵詞

1、使用者可以通過輸入框打入關鍵詞跳到 Google 畫面進行搜尋。
2、也可以在輸入完關鍵詞以後,點鍵盤上的 Search 來進行搜尋。
3、在搜尋的時候將鍵盤收起來。

隱私權設定

通過 WebView 去瀏覽網頁,需要有 internet 使用的權限。

https://ithelp.ithome.com.tw/upload/images/20171208/201073293gy5jx30Z9.png

我們可以在 AndroidManifest.xml 中加入請求。

<uses-permission android:name="android.permission.INTERNET"/>

WebView

使用起來沒什麼問題,和 iOS 的 UIWebView 使用起來很像,沒什麼問題。

比較特別的是,初始化的時候需要餵一個 WebViewClient 進去,然後通過 loadUrl 讀取頁面。

比 iOS 輕鬆的地方應該是,可以直接通過 String 來 loadUrl 而不用像 iOS 需要先轉成 URL 類型。

val webViewClient = WebViewClient()
webView.setWebViewClient(webViewClient)
webView.loadUrl("https://www.google.com")

EditView / Keyboard

和 iOS 中的 UITextField 類似,可以對 EdidView 設定鍵盤類型,包括 return 按鈕的類型,比如 Done / Search / Return 等等。

android:imeOptions="actionSearch"

收鍵盤

不知道有沒有更容易的收鍵盤方式,目前來案收鍵盤

val ime = this.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
ime.hideSoftInputFromWindow(view.windowToken, 0)

TextView 事件監聽

EditView 也是通過 TextView.OnEditorActionListener 來監聽事件,比如鍵盤點下了 Done / Search 等等。

TextView.OnEditorActionListener { view, actionId, event -> ...}

紀錄

有一個現象,如果一開始放了安裝好 App之後即使拿掉了也沒出現問題。
可能要了解一下這方面的機制。

參考


上一篇
Kotlin 開發第 4 天 Scalable ImageView ( MotionEvent )
下一篇
Kotlin 開發第 6 天 ImageList (RecyclerView)
系列文
Kotlin 30 天,通過每天一個小 demo 學習 Android 開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言